#ifndef ZMODULESETTINGS_H
#define ZMODULESETTINGS_H

#include <QStringList>

class ZModuleSettings
{
private:
    QString name;
    QString alias;
    int heartbeatInterval;
    int pingInterval;
    QStringList devices;

public:
    ZModuleSettings();
    ZModuleSettings(const QString& name, int hbeatInterval, int pingInterval, const QString& alias = "");
    ZModuleSettings(const ZModuleSettings& other);
    ZModuleSettings& operator=(const ZModuleSettings& other);
    static ZModuleSettings defaultSettings();
    QString toString() const;
    bool isValid() const;
    const QString& getName() const { return name; }
    void setName(const QString& name) { this->name = name; }
    const QString& getAlias() const { return alias; }
    void setAlias(const QString& alias) { this->alias = alias; }
    int getHeartbeatInterval() const { return heartbeatInterval; }
    void setHeartbeatInterval(int interval) { heartbeatInterval = interval; }
    int getPingInterval() const { return pingInterval; }
    void setPingInterval(int interval) { pingInterval = interval; }
    const QStringList& getDevices() const { return devices; }
    QStringList& getDevices() { return devices; }
    void setDevices(const QStringList& list) { devices = list; }
};

#endif // ZMODULESETTINGS_H
